﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="ExtensionsHelper.cs" company="Elilink">
//   Defor
// </copyright>
// <summary>
//   The avaliable extensions collection.
// </summary>
// --------------------------------------------------------------------------------------------------------------------
namespace STDULibrary.Tools
{
    using System.Collections.Generic;
    using System.Drawing;

    using STDULibrary.Properties;

    /// <summary>
    ///     The available extensions collection.
    /// </summary>
    internal static class ExtensionsHelper
    {
        #region Properties

        /// <summary>
        ///     Gets the get resources icons.
        /// </summary>
        /// <value>The get resources icons.</value>
        internal static Dictionary<string, Icon> GetResourcesIcons
        {
            get
            {
                return new Dictionary<string, Icon>
                           {
                               { ".azw", new Icon(Resources.Azw, 16, 16) }, 
                               { ".cbr", new Icon(Resources.Cbr, 16, 16) }, 
                               { ".cbz", new Icon(Resources.Cbz, 16, 16) }, 
                               { ".pcx", new Icon(Resources.Pcx, 16, 16) }, 
                               { ".dcx", new Icon(Resources.Pcx, 16, 16) }, 
                               { ".djvu", new Icon(Resources.Djvu, 16, 16) }, 
                               { ".djv", new Icon(Resources.Djvu, 16, 16) }, 
                               { ".epub", new Icon(Resources.Epub, 16, 16) }, 
                               { ".fb2", new Icon(Resources.Fb2, 16, 16) }, 
                               { ".fb2.zip", new Icon(Resources.Fb2, 16, 16) }, 
                               { ".jbig2", new Icon(Resources.Jb2, 16, 16) }, 
                               { ".jb2", new Icon(Resources.Jb2, 16, 16) }, 
                               { ".mobi", new Icon(Resources.Mobi, 16, 16) }, 
                               { ".pdb", new Icon(Resources.Pdb, 16, 16) }, 
                               { ".pdf", new Icon(Resources.Pdf, 16, 16) }, 
                               { ".tcr", new Icon(Resources.Tcr, 16, 16) }, 
                               { ".wwf", new Icon(Resources.Wwf, 16, 16) }, 
                               { ".xps", new Icon(Resources.Xps, 16, 16) }, 
                               { ".tif", new Icon(Resources.Tiff, 16, 16) }, 
                               { ".tiff", new Icon(Resources.Tiff, 16, 16) }, 
                               { ".txt", new Icon(Resources.Txt, 16, 16) }
                           };
            }
        }

        /// <summary>
        ///     Gets the extensions.
        /// </summary>
        private static List<string> Extensions
        {
            get
            {
                return new List<string>
                           {
                               ".azw", 
                               ".cbr", 
                               ".cbz", 
                               ".pcx", 
                               ".dcx", 
                               ".djv", 
                               ".djvu", 
                               ".epub", 
                               ".fb2", 
                               ".fb2.zip", 
                               ".jbig2", 
                               ".jb2", 
                               ".mobi", 
                               ".pdb", 
                               ".pdf", 
                               ".tcr", 
                               ".wwf", 
                               ".xps", 
                               ".tif", 
                               ".tiff", 
                               ".txt"
                           };
            }
        }

        #endregion

        #region Methods

        /// <summary>
        ///     The get.
        /// </summary>
        /// <returns>
        ///     The collection.
        /// </returns>
        internal static List<string> GetAvailableExtensions()
        {
            return Extensions;
        }

        #endregion
    }
}